package com.memory.monitor.service;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.IService;
import com.memory.monitor.common.DeleteRequest;
import com.memory.monitor.model.dto.distribute.DistributeAddRequest;
import com.memory.monitor.model.dto.distribute.DistributeQueryRequest;
import com.memory.monitor.model.dto.distribute.DistributeUpdateRequest;
import com.memory.monitor.model.dto.institution.InstitutionAddRequest;
import com.memory.monitor.model.dto.institution.InstitutionQueryRequest;
import com.memory.monitor.model.dto.institution.InstitutionUpdateRequest;
import com.memory.monitor.model.entity.Distribute;
import com.memory.monitor.model.entity.Institution;
import com.memory.monitor.model.vo.DistributeVO;
import com.memory.monitor.model.vo.InstitutionVO;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;


/**
* @author 21731
* @description 针对表【institution(机构管理)】的数据库操作Service
* @createDate 2024-09-02 09:59:49
*/
public interface InstitutionService extends IService<Institution> {
    /**
     * 获取institution息
     *
     * @param institution
     * @return
     */
    InstitutionVO getinstitutionVO(Institution institution);

    /**
     * 获取institution信息
     *
     * @param institutionList
     * @return
     */
    List<InstitutionVO> getdistributeVO(List<Institution> institutionList);

    /**
     * 查询条件
     *
     * @param institutionQueryRequest
     * @return
     */
    QueryWrapper<Institution> getQueryWrapper(InstitutionQueryRequest institutionQueryRequest);


    /**
     * 增加查询条件
     *
     * @param institutionAddRequest
     * @return
     */
    Long addInstitution(InstitutionAddRequest institutionAddRequest);

    /**
     * 修改查询条件
     *
     * @param institutionUpdateRequest
     * @return
     */

    Boolean updateInstitution(InstitutionUpdateRequest institutionUpdateRequest);

    /**
     * 删除查询条件
     *
     * @param deleteRequest
     * @return
     */


    Boolean deleteInstitution(DeleteRequest deleteRequest);



    List<InstitutionVO> listInstitutionByPage();

    Boolean readExcel(MultipartFile multipartFile);

    Boolean writeExcel(String path);
    



}
